Apparatus and method for controlling a moving vehicle utilizing a digital differential analysis circuit

ABSTRACT

This invention relates to a picture processing device in which picture data of a road or lines marking off a lane taken by a television camera installed on a vehicle is processed for the recognition of the contour of the road or the lane. Picture data is analog/digital converted, then edited and is subjected to the binary processing to be supplied to a digital differential analysis computing circuit. The digital differential analysis circuit comprises circuits serially connected each of which computes a rotary motion recurrence formula every rotation by a rotation angle. The recurrence formula is computed in the pipe-line system. In this computation the Hough transform is performed to give sine curves in a ρ-θ coordinate system. The points of intersection of these sine curves (Hough curves) are given, and those of them having more occurrences are selected in the ρ-θ coordinate system. Resultantly, the contour of the shoulder lines and the center line of the road, or the contour of the lane are given.

This is a continuation of co-pending application Ser. No. 07/898,188,filed on Jun. 12, 1992, and which designated the U.S., now abandoned,which is an continuation of application Ser. No. 07/349,536, filed onMay 9, 1989, now abandoned.

BACKGROUND OF THE INVENTION

1. Technical Field of the Invention

This invention relates to a picture processing device which is used incontrol ling unmanned running vehicles or recognizing motions of objectsto be observed in real time.

2. Related Background Art

In controlling an unmanned movable robot Or an automatic movablevehicle, for example, the pictures of the lines marking of f a lane, andthose of the center line and the shoulder lines of a road have to betaken by a camera to be subjected to picture processing. FIG. 1 is aview explaining recognition of a road by means of a picture. FIG. 1(a)shows a picture of a road taken by a camera. FIG. 1(b) is a view inwhich the picture elements in FIG. 1 (a) having higher brightness (orhigher brightness change ratios ) are shown in black points.

As shown in FIG. 1(a), in a camera picture 1 a road 3 is extended atinfinity toward a horizontal line 2. Shoulder lines 4 are on both sidesof the road 3. A center line 5 is at the center or the road 5. Theshoulder lines 4 and the center line 5 of the road 3 have higherbrightnesses than the other parts of the road 3 and are shown incontinuous dots 4', 5' as shown in FIG. 1(b). Based on this camerapicture 1, in order to recognize the direction and curves of the road 3,approximate straight lines L₁, L₂, L₃ interconnecting the dots 4'in FIG.1(b) are recognized.

As a method for giving the approximate straight lines L, the methodcalled Hough transformation is conventionally known (e.g., Specificationof U.S. Pat. No. 3,069,654). This method is explained with reference toFIGS. 24. Assuming that a point P (x_(p),y_(p)) to be processed ispresent on an original picture depicted by the x y coordinate system asshown in FIG. 2(a), an infinite number of straight lines 1 (i_(a), i_(b). . . ) can be depicted. Straight lines passing the origin 0 (0,0) andorthogonal to the respective straight lines 1_(a), 1_(b), . . . can bealso depicted. When a length of the straight lines 1 passing the origin0 (0,0) to the straight lines 1 (1_(a), 1_(b), . . .) is represented byρ, and an angle these straight lines form to the x axis is representedby θ (θ_(a), θ_(b), . . .), the ρ and θ of the straight lines passingthe origin 0 (0,0) are given in the sine curve of FIG. 2( b), i.e., theHough curve. The length ρ_(max) between the origin O (O,O) and the pointto be processed P (x_(p),y_(p)) is the longest of the straight linespassing the point to be processed P (x_(p),y_(p)). The length is givenby

    ρ.sub.max =(x.sub.p.sup.2 +y.sub.p.sup.2).sup.1/2

and when θ=0, ρ₀ =x_(p).

Next, as shown in FIG. 3(a), Hough transform of FIG. 2 will be appliedto Three points P₁ ˜P₃ a straight line L. The sine curve (Hough curve)in the dot line in FIG. 3(b) is given with respect To the point P₁. Thesine curve with respect to the point P₂ is in the one dot line in FIG.3(b), and that with respect to the point P₃ is in the two dot line inFIG. 3(b). The peaks (ρ₁,θ₁), (ρ₂,θ₂) and (ρ₃,θ₃) of the respective sinecurves of FIG. 3(b) correspond to the lengths ρ₁, ρ₁, ρ₃ between theorigin 0 (0,0) and the respective points P₁, P₂ and P₃ in FIG. 3(a), andthe angles θ₁, θ₂, θ₃ the respective straight lines passing the origin 0form to the x axis.

In FIG. 3(b), the point of intersection of the three Hough curves (sinecurves) has coordinates (θ_(t),θ_(t)) which are equal to ρ_(t),θ_(t) ofa straight line passing the origin 0 (0,0) and orthogonal to thestraight line L. Thus yb obtaining a point of intersection of such sinecurves, an approximate straight line of the curves interconnecting thedots (dark points) in the x-y rectangular coordinate system of anoriginal picture can be obtained (in FIG. 3, however, the curves and theapproximate straight line are in agreement).

This will be explained with reference to FIG. 4. It is assumed that anumber of dots (points to be processed) to be Hough transformed are on acurve in the x-y coordinate plane (original picture plane) in FIG. 4(a).In FIG. 4(a) three approximate straight lines L₁,L₂,L₃ interconnectingthe dots can be depicted. When all the dots are subjected to Houghtransform as in FIG. 2, three points of intersections of the sine curvesare obtained. The three points of intersection have coordinates(ρ_(t1),θ_(t1)), (ρ_(t2),θ_(t2)), (ρ_(t3),θ_(t3)) in FIG. 4(a). When theoccurrence of the point of intersection H is expressed by a ρ,θ,Hcoordinate system, FIG. 4(b) is given. Accordingly, the approximatestraight lines L₁ ˜L₃ of FIG. 1(b) corresponding to the shoulder lines 4of the road 3 can be given in values of ρ and θ at a peak of H (theoccurrence of the point of intersection).

But it is not easy to apply the above described given, based oncoordinates (x_(p), y_(p))) of the point P to be Hough transformation tohigh speed picture processing in real time. That is, when a Hough curve(sine curve) is given, based on coordinates (x_(p),y_(p)) of the point Pto be processed on the original picture of FIG. 2 as data,

    ρ=x.sub.p ·sinθ+y.sub.p ·cosθ(1)

must be satisfied. For example, when ρ is divided into 512 sections, thetrigonometric function calculation has to be performed 1024 times: themultiplication, 1024 times; and the addition, 512 times. Besides, whenthe original picture to be subjected to the computation comprises512×512 picture elements, the computation times totally become sonumerous that the processing time becomes extremely long with a usualprocessor.

Of course it is possible to shorten the computation time by storingvalues of sinθ and cosθ used in the above described formula 1 in a ROMor others (e.g., Hanahara et al., A realtime Processor for HoughTransform, 1985 National Conference of Information System Group, TheInstitute of Electronics Information and Communication engineers No. 92or Onda et al. A Hardware Implementation of Hough Transform with ROM,The 70th Anniversary General National Conference of the Institute ofElectronics Information and Communication Engineers, No. 1587). But inHanahara et al., in which the data of the trigonometric calculation arestored in a ROM, the multiplication times for the Formula 1 is still thesame, and taking it into account the computation time is considerablylonger compared with the addition time, this method cannot provide afundamental solution.

Onda et al. will be discussed from a different viewpoint. In thismethod, the computing units for computing the above described Formula 1are parallelled so as to speed up the overall signal processing. Butthis parallelism requires the same number of memory tables (ROMs) so asto obtain x_(p) ·sinθ, y_(p) cosθ as the parallelled computing units.Consequently the system in terms of hardware becomes very large sized.

This method is not suitable for LSI. The data may be stored in a RAM inplace of a ROM, but this has problems with integration

As described above, it has been almost impossible to control in realtime a vehicle running at a high speed based on the picture data andrecognize in real time an object to be observed moving at a high speedbased on The picture data. The speed up of the signal processing bymeans of parallelled computing units inevitably results in large sizesof the hardware.

A first object of this invention is to provide a picture processingdevice which enables not only picture data to be processed at high speedand in real time, but also the hardware to be miniaturized.

A second object of this invention is to provide a picture processingsystem which is able to perform the picture data processing Houghtransform is applied to at high speed and in real time.

SUMMARY OF THE INVENTION

The picture processing device according to a first embodiment of thisinvention is for differentiating a plurality of points within anoriginal picture taken by picturing means to extract out pointscharacteristic of the original picture. The picture processing devicecomprises digital differential analysis (hereinafter DDA) computingmeans comprising a plurality of DDA computing devices of the samestructure serially connected; memory means for storing the computationresults of the DDA computing means in accordance with the DDA computingdevices; and extraction means for extracting points characteristic ofthe original picture, based on the stored contents of the memory means.

The picture processing device according to the first embodiment is alsofor deriving an approximate straight line interconnecting a plurality ofpoints to be processed on an original picture taken by picturing means.The picture processing device comprises DDA computing means forcomputing a rotary motion recurrence formula

    α.sub.i+1 f.sub.α (α.sub.i, β.sub.i, ε)

    β.sub.1+1 =f.sub.β (α.sub.i, β.sub.i, ε)

where one point on the circumference of an approximate circle depictedon an α β rectangular coordinate system has coordinates (α_(i) β_(i)),and a rotation angle from the coordinates to next coordinates (a_(i+1),β_(i+1)) on the circumference is represented by ε (but i is a positiveinteger); memory means for storing values of at least said β_(i) of thecomputation results given sequentially by the DDA computing means; andapproximate straight line deriving means for deriving the approximatestraight line of points of intersections of Hough curves which are givenat the respective points to be processed based on the stored contents ofthe memory means.

The picture processing device according to a second embodiment of thisinvention is for discriminating to extract curves interconnecting aplurality of points to be processed on an original picture taken bypicturing means, based on a characteristic of distributions of thepoints to be processed. The picture processing device comprises initialvalue computing means for computing an initial value based on the pointsto be processed on the original picture; DDA computing means comprisinga plurality of DDA computing devices of the same structure seriallyconnected for performing sequentially computing operations starting withthe initial value; memory means for storing computed results of the DDAcomputing means in accordance with the DDA computing devices; and meansfor discriminating to extract the curves interconnecting the points tobe processed, based on the contents stored by the memory means.

The picture processing device according to the second embodiment is alsofor deriving an approximate straight line of curves interconnecting aplurality of points to be processed on an original picture taken bypicturing means. The picture processing device comprises initial valuecomputing means for computing coordinates (α_(i),β_(i)) of an initialvalue in an α β rectangular coordinate system, based on the points to beprocessed on the original picture; DDA computing means for repeatedlycomputing a rotary motion recurrence formula upon each rotation by a setrotation angle from the coordinates (α_(i),β_(i)) of the initial value,the rotary recurrence formula being

    α.sub.i+1 =f.sub.α (α.sub.i,β.sub.i, ε)

    β.sub.i+1 =f.sub.62 (α.sub.i,β.sub.i,ε)

where one point on the circumference of an approximate circle depictedon an u β rectangular coordinate system has coordinates (α_(i),β_(i)),and a rotation angle from the coordinates to next coordinates(α_(i+1),β_(i+1)) on the circumference is represented by ε (but i is apositive integer); memory means for storing values of at least saidε_(i) of the computed results given sequentially by the DDA computingmeans; and approximate straight line deriving means for deriving theapproximate straight line of points of intersections of Hough curveswhich are given at the respective points to be processed based on thestored contents of the memory means.

The picture processing system according to a third embodiment of thisinvention is for discriminating to extract curves interconnecting aplurality of points to be processed on an original picture, based on acharacteristic of distributions of the points to be processed. Thesystem comprises a first step computing a rotary motion recurrenceformula

    α.sub.i+1 =f.sub.α(-60 .sub.i,β.sub.i,ε)

    β.sub.i+1 =f.sub.β (α.sub.i,β.sub.i,ε)

where one point on the circumference of an approximate circle depictedon an α β rectangular coordinate system has coordinates (α_(i),β_(i)),and a rotation angle from the coordinates to next coordinates(α_(i+a),β_(i+1)) on the circumference is represented by ε (but i is apositive integer) sequentially every rotation by said rotation angle orevery plural rotations by said rotation angle along the entirecircumference of said approximate circle or a part of the circumferencethereof to thereby give Hough curves with respect with the respectivepoints to be processed on the original picture and a second step ofderiving approximate straight lines of the curves interconnecting thepoints to be processed, based on points of intersection between at leasttwo of the Hough curves given in the first step. A picture processingsystem according to the third embodiment is also for discriminating toextract curves interconnecting a plurality of points to be processed onan original picture taken by picturing means, based on a characteristicof a distribution of the points to be processed thereon. The systemcomprises a first step of giving coordinates (α₀, β.sub.) of an initialvalue in α β coordinate system based on the points to be processed onthe original picture; and a second step of computing a recurrenceformula

    α.sub.i+1 =f.sub.α (α.sub.i,β.sub.i,ε)

    β.sub.i+1 =f.sub.β (α.sub.i,β.sub.i,ε)

where one point on the circumference of an approximate circle depictedon an β rectangular coordinate system has coordinates (α_(i) β_(i)), arotation angle from the coordinates to next coordinates(α_(i+1),β_(i+1)) on the circumference is represented by ε (but i is apositive integer) sequentially every rotation by the rotation angle fromthe initial value given in the first step; a third step of giving Houghcurves with respect to the points to be processed, based on the computedresults in the second step; and a fourth step of deriving an approximatestraight line of a curve interconnecting the points to be processed,based on points of intersection between at least two of the Hough curvesgiven by repeating the steps 1 to 3 on the respective points to beprocessed.

The present invention will become more fully understood from thedetailed description given hereinbelow and the accompanying drawingswhich are given by way of illustration only, and thus are not to beconsidered as limiting the present invention.

Further scope of applicability of the present invention will becomeapparent from the detailed description given hereinafter. However, itshould be understood that the detailed description and specificexamples, while indicating preferred embodiments of the invention, aregiven by way of illustration only, since various changes andmodifications within the spirit and scope of the invention will becomeapparent to those skilled in the art from this detailed description.

BRIEF DESCRIPTION OF THE DRAWINGS

FIGS. 1(a) and (b) are views explaining recognition of the contour of aroad by the picture processing device;

FIGS. 2(a) and (b), FIGS. 3(a) and (b), and FIG. 4(a) and (b) are viewsexplaining the principle of Hough transform;

FIG. 5 is a block diagram of the overall picture processing deviceaccording to one embodiment of this invention;

FIG. 6 is a block diagram of a major part of the device of FIG. 5;

FIG. 7 is a flow chart of the operation of the device;

FIGS. 8(a)-(d) are views explaining the edge detection for the pictureelement signals inputted as an example of original pictures;

FIG. 9 is a flow chart of the pre-processing of the edged data;

FIGS. 10(a) and (b) are views explaining the lookup table;

FIGS. 11 (a)-(c) are views explaining the Hough transform in theembodiment;

FIG. 12 is a flow chart of a computing operation of the rotary motionrecurrence formula in the embodiment;

FIG. 13 is a view explaining one cycle of the processing;

FIG. 14 is a view explaining the concept of the histogram memory;

FIGS. 15(a)-(e) are views explaining the pipe line processing in theembodiment;

FIGS. 16(a) and (b) are views explaining the 8 neighbor filtering (peakfiltering);

FIG. 17 is a detailed block diagram of the peak filter;

FIGS. 18(a) and (b) are flow charts explaining the sorting processing;

FIGS. 19(a)-(d) are views specifically explaining the sortingprocessing;

FIGS. 20(a) and (b) are block diagrams of the sorting unit;

FIG. 21 is a block diagram of a major part of the picture processingdevice according to another embodiment of this invention;

FIGS. 22(a)-(c) are views explaining the Hough transform in this anotherembodiment; and

FIGS. 23 and 24 are block diagrams of the computing circuits for therotary motion recurrence formula.

DESCRIPTION OF THE PREFERRED EMBODIMENT

As shown in the block diagram of FIG. 5, a camera 11 takes a picture ofan object to be processed (e.g., a road, a high speed moving object, orthe like) as an original picture. The picture signals are digitized by asignal inputting unit 12 to be supplied to an edge detecting unit 13. Aswill be described later, the edge detecting unit 13 extracts the edgesof the picture signals to produce edged data having differentbrightnesses, e.g., 512×512 picture element signals (edged pictureelement signals) and supplies the same to a multivalued memory 14. Themultivalued memory 14 stores the edged data for the respective pictureelements. Each time one display screen has been scanned, the edged dataare supplied to a D/A converting unit 15 to be supplied to a CRT display16 as analog signals. Thus, the edged data are displayed on the CRTdisplay 16 pre-processing.

On the other hand, the edged picture element signals are supplied to apre-processing unit 17 to be processed as will be described later. Thepre-processed edged picture element signals are supplied to a DDAcomputing unit 18. The DDA computing unit 18 comprises DDA computingcircuits 18₀ ˜18_(n-1) which are connected serially. A peak filter 19and a sorting unit 20 are connected to the DDA computing unit 18 on theside of the output thereof for the processing by the peak filter and bythe sorting unit (which will be described later). The above describedcircuit elements are connected to a CPU 22 through a VME bus 21 forcontrol of the signal processing operation and synchronization of theprocessing timing. The pre-processing unit 15, the DDA computing unit18, and the peak filter 19 are interconnected by a VME bus 23 forsynchronization control of the transfer of the computation result of theDDA computing unit and that of brightness value data.

FIG. 6 is a block diagram of the major part which corresponds to thepre-processing unit 17, the DDA calculating unit 18 and the peak filter19 in FIG. 5. The pre-processing unit 17 is provided by a FIFO (first infirst out) board 17'. The FIFO 17' inputs as an address signalcoordinate values (X_(p),X_(p)) in X-Y plane of a point to be processed,and edged brightness value data D_(I) as a data signal. As will bedescribed later, the FIFO 17' transforms X-Y coordinates to x-ycoordinates, sets a window, and processes a threshold value to outputthe results sequentially FIFO.

Each DDA computing circuit 18₀ ˜18_(n-1) in FIG. 5 comprises three flipflops (F/Fs) 31,32,33, a random access memory (RAM) 34, an adder (ADD)35, and a digital differential analyzer (DDA) 37. The respective F/Fs 31temporarily store address signals α₀ ˜α_(n-1), β₀ ˜β_(n-1). Therespective F/Fs 32 store brightness value data D₁. Each F/Fs 33temporarily store histogram data D_(MO) ˜D_(M)(n-1) read from respectiveRAMs 34 (RAM_(O) - RAM_(n-i)). Respective DDAs 37 (DDA_(O) ˜DDA_(n-1))compute a rotary motion recurrence formula which will be describedlater, every rotation by a rotation angle. The respective DDAs 37 areinputted with address signals α_(i),β_(i) to output address signalsα_(i+1),β_(i+1). Respective ADDs 35 (ADD_(O) ˜ADD_(n-1)), adders, addthe brightness value data D_(I) from the FIFO 17' and the histogram dataD_(MO) ˜D_(M)(n-1). The outputs from the respective ADDs are temporarilystored in a buffer 36 and then supplied to the respective RAM_(O)˜RAM_(n-1). A timing controller 25 outputs timing pulses φ_(a) ˜φ_(e) tocontrol the timing of The signal processing among these circuit elementsand is connected to a command/status interface not shown.

The overall operation of the picture processing device of FIGS. 5 and 6is shown by the flow chart of FIG. 7. Picture signals of respectivepoints to be processed on the original picture taken by the camera 11are inputted by way of the signal inputting unit 12 (Step 102). The edgedetecting unit 13 detects the edges of the picture signals (Step 104)and supplies the edged data to the pre-processing unit 17 (Step 106).These Steps 102 to 106 are repeated every time picture signals areinputted. The results (edged data) are sequentially supplied to thepre-processing unit 17 as digital data.

The pre-processing unit 17 executes a set pre-processing processing(which will be described later) (Step 108) and supplies processed datato the DDA computing unit 18 (Step 110). This pre-processing is repeatedsequentially every time the pre-processing unit 17 is supplied with theedged data.

Subsequently, the rotary motion recurrence formula for giving Houghcurves (sine curve ) are executed by the DDA computing units 18 whichwill be explained later (Step 112). A computing operation continuesuntil all the picture signals of one display (original picture display)to be processed except those out of a window or below a threshold valuehave been processed (Step 114). Then a filtering operation (Step 116)and a sorting operation (Step 118) both of which will be explained laterare executed with respect to the points of intersection of the resultantHough curves are executed by the approximation filter 19 and the sortingunit 20. The final result is an approximate straight line of curvesinterconnecting the points to be processed on the original picture.

Next, the edge detection performed by the edge detecting unit 13, andthe edged data are shown in FIG. 8.

It is assumed that an original picture taken by the camera is as shownin FIG. 8(a). When the line indicated by reference numeral 8 in FIG.8(a) is set as x' axis, brightness S is expressed analogously as in FIG.8(b). That is, the brightness is lower at the outside parts of the road3, the road 3 and the shoulders but much higher at the shoulder lines 4.The brightness distribution of FIG. 8(b) is recognized as digital dataof, e.g., 256 gradation in this embodiment, but only such brightnessdistribution is not sufficient for accurate recognition of theconfiguration of the road.

Here, brightnesses S of the picture signals supplied by the signalinputting unit 12 are differentiated |dS/dx'| on the axis x' to give thebrightnesses in change ratios. Then definite edges are obtained as shownin FIG. 8(c). The edges are given in absolute value 1Ds/dx'1 as shown inFIG. 8(d). The edge detecting unit 13 supplies edged data (digital data)for exact recognition of the edges of the shoulder lines 4. The edgeddata from the edge detecting unit 13 are subjected to the pre-processingby the pre-processing unit 17 in the next step.

The pre-processing by the pre-processing unit 17 (FIFO 17') is shown bythe flow chart of FIG. 9.

The edged data produced as in FIG. 8 are supplied from the edgedetecting unit 13 to the pre-processing unit 17 (Step 122) to be judgedwith respect to whether or not the edged data are inside a preset window(Step 124). The window is set, for example, as indicated by referencenumeral 9 in FIG. 8(a). Whether or not the edged data are within thewindow is judged based on the coordinate values of the edged data in x-ycoordinate plane. The next step 126 is executed on only those of theedged data which are inside the window 9.

In Step 126, the edged data inside the window 9 are digitally judgedwith respect to whether the edged data inside the window are above arequired threshold level, based on, e.g., a lookup table (LUT) affixedto the FIFO 17'. That is, as shown in FIG. 10, without the LUT, inputdata to and output data from the FIFO 17' correspond to each other in aratio of 1:1 (FIG. 10(a)).

But, in the case where a threshold level is set at I_(th), using theLUT, the output data is 0 when the input data is below I_(t) h. In thecase where the edged data are produced in 256 gradation, the thresholdlevel I_(th) can be set arbitrarily in a range of 0˜255. When thisthreshold level is analogously expressed, it is set as indicated by thedot line in FIG. 8(d). Accordingly, the data surviving the processing ofStep 126 are mainly those (digital data) corresponding to the shoulderlines 4 and the center line 5 in the original picture. That is, onlymajor data (of, e.g., the shoulder lines and the center line of theroad) are left to be signal processed in the following steps.Accordingly, there is no influence of noise components, and the overallprocessing speed can be improved.

Next, the coordinate transformation is performed in Step 128. That is,as shown in FIG. 8(a), the coordinate transformation is performed fromthe X-Y coordinate system to the x-y coordinate system. Accordingly thecoordinates (X_(p),Y_(p)) of the point to be processed is transformed tothe coordinates (x_(p),y_(p)). At this point the preprocessing iscomplete.

In FIG. 9, the sequence of Steps 124˜128 may be changed. For example,Step 128 of performing the coordinate transformation may be performedfirst. Taking the data processing time into consideration, the sequenceof FIG. 9 is most preferable.

The application of the Hough transform to this embodiment is shown inFIGS. 11 and 12.

When a Hough curve (sine curve) is obtained with respect to the pointP(x_(p),y_(p)) in FIG. 11(a), the Hough curve shown in FIG. 11(c) willbe given, as explained above with reference to FIG. 12. It is seen fromthe trigonometric function theorem that the trajectory of such sinecurve may be replaced with that of a circular motion of FIG. 11(b). Inother words, obtaining a trajectory of the circumference of the circularmotion of FIG. 11(b) is equivalent to performing the Houghtransformation with respect to the point P(x_(p),y_(p)) in FIG. 11(a) toobtain the Hough curve of FIG. 7(c).

    R=ρ.sub.max =(x.sub.p.sup.2 +y.sub.p.sup.2).sup.1/2    (2)

When the circular motion is started at a point Q (α₀,β₀) in FIG. 11(b)corresponding to θ=0° at the point p(x_(p),y_(p)), the initial valueθ_(d) is given by the formula

    θ.sub.d =π/2-θ.sub.max

where

    tanθ.sub.max =x.sub.p /y.sub.p                       (3)

From this viewpoint, the inventors have applied a rotary motionrecurrence formula in depicting the circle of FIG. 11(b) and found aneasy method for transforming the point P (x_(p),y_(p)) of FIG. 11(a)into the Hough curve of FIG. 11(c). Based on the rotary motionrecurrence formula, coordinates (α_(i+1),β_(i+1)) which is ahead of apoint (α_(i),β_(i)) by the angle ε in α-β rectangular coordinate systemis given by

    α.sub.i+1 =f.sub.α (α.sub.i,β.sub.i ε)

    β.sub.i+1 =f.sub.β (α.sub.i,β.sub.i,ε) (4)

where i is an integer.

For Equation 4, several rotary motion recurrence formulas areconventionally known. In one of them, for example, when the rotationangle ε=2^(-m) (rad) (m=0, 1, 2, . . . ,)

    α.sub.i+1 =α.sub.i -2.sup.-m β.sub.i

    β.sub.i+1 =2.sup.-m α.sub.i+1 +β.sub.i     (5)

However, the rotary motion recurrence formula which the inventors havefound to have higher precisions and to be easier to compute,

    α.sub.i+1 =α.sub.i (1-2.sup.-2m-1)-2.sup.-m β.sub.i

    β.sub.i+1 =2.sup.-m α.sub.i+β(1-2.sup.-2m-1) (7)

or

α_(i+1) =α_(i) (1-2^(-2m-1)) +β_(i) (2^(-m) +ε^(-3m) /6)

    β.sub.i+1 =α.sub.i (2.sup.-m +ε.sup.-3m /6)+β.sub.i (1-2.sup.-2m-1)                                           (8)

may be used.

In this case Recurrence Formula 7 will be used. Before the operation ofthe circuit of FIG. 5 is specifically explained, this computing methodwill be explained in good detail.

FIG. 12 is a flow chart of the computing process. The data which havebeen pre-processed by the FIFO 17' in accordance with the sequence ofthe processing steps in FIG. 9 are supplied to the DDA computing unit 18(Step 132), and a rotary motion is started at a position Q (α₀,β₀)corresponding to angle θ=0° (i.e., an angle where ρ=x_(p)) at the pointto be processed P(x_(p),y_(p)) in FIG. 11. At this time, (α₀,β₀) fromthe FIFO 17' is

    α.sub.0 =Y.sub.p,β.sub.0 =x.sub.p               (9).

The initial position of the rotary motion is set by the above describedmethod, and the initial value is substantively irrelevant for therecurrence formula computation.

Then, the value of β₀ is stored in the RAM₀ as an address, and thenα₁,β₁ are obtained by Recurrence Formula 7. This computation can beperformed by substituting Formula 7 with α₀,β₀ given by Formula 9 (Step134). Every time the respective digital differential analyzers, DDA₁,DDA₂, DDA₃, . . . finish their computation, the results (β₁ β₂, β₃, . .. ) are subsequently stored in RAM₁, RAM₂, RAM₃, . . . as addresses(Step 138). On the other hand, between Steps 134 and 138, brightnessdata are accumulated. That is, the histogram data D_(Mi) read from theRAM 34 (RAM_(i)) at the address=θ_(i), and the brightness data from theFIFO 17' are added to be stored again in the RAM_(i) (Step 136).

This computation is repeated each rotation by the angle ε until oneround has been finished along a circle (Step 149). When one round hasbeen made, a Hough curve with respect to one point to be process on anoriginal picture is given, based on the thus stored values β₀,β_(i),β₂,β₃, . . . , and values (rotation angle ε) of θ₀, θ₁, θ₂, . . . and alsoresults weighted with brightness data (D_(M0), D_(M1), . . . D_(M)(n-1))are given. When the processing of FIG. 12 is executed on all the pointsto be processed on the original picture, a plurality of Hough curvesweighted with brightness data are given in ρ-θ coordinate system, andthese Hough curves have points of intersection in FIG. 3(b).

The operation following the flow chart of FIG. 13 will be explained inmore detail with reference to FIG. 6.

Step 132 of inputting data in FIG. 12 is executed by supplying a readysignal from the FIFO 17' in FIG. 6 to the timing controller 25 andsupplying a read strobing signal from the timing controller 25 to theFIFO 17', then supplying address signal α₀,β₀ corresponding to thecoordinate value (x_(p),y_(p)) of the point to be processed P from theFIFO 17' to the F/F 31, and then supplying brightness data D_(I) of thepoint to be processed P to the F/F 32. The input of an address and datato the F/Fs 31, 32 are performed synchronously with a timing pulse φ_(a)from the timing controller 25. Synchronously with this timing pulseφ_(a), the address signals α₀, β₀ from the F/F 31 are inputted to afirst DDA₀ 37.

The DDA₀ performs the processing of Step 134 in FIG. 12. That is, thecomputation of Recurrence Formula 7 is performed, and the computationresult (address signals α₁,β₁) is supplied to a next DDA₁ (not shown).The Recurrence Formula 7 basically involves neither computation of thetrigonometric function nor multiplication, and reference to a memorytable (ROM) is not necessary either. The computation can be performedeasily and promptly. This computation has sufficient precision (littleerror) for the rotary motion.

The address signal β₀ is supplied also to the RAM₀ 34. In response tothis address signal the histogram data D_(MO) stored in the RAM₀ is readout. That is, RAM₀ has previously stored at the address cf β₀ thehistogram data D_(MO) with respect to the other points to be processedevery rotation by the angle θ₀ (θ'=0) (based on the precedingcomputation of the ADD₀). Accordingly, synchronously with the addresssignal β₀ supplied from the F/F 31 to the RAM₀, the histogram dataD_(MO) is supplied from the RAM₀ to the F/F 33.

Subsequently, in synchronization with a timing pulse α_(c) from thetiming controller 25, the histogram data D_(MO) is supplied from the F/F33 to the ADD₀. The ADD₀ has been supplied by the F/F 32 with brightnessdata D_(I) of the point to be processed (x_(p),y_(p)). Accordingly, inthe ADD₀, the rotation angle θ₀ which has been stored in the RAM₀, thehistogram data D_(MO) corresponding to the address β₀, the rotationangle θ₀ of the point being processed (x_(p),y_(p)), and the brightnessvalue data D_(I) corresponding to the address β₀ are added (Step 136 inFIG. 12). The addition result (D_(MO) '=D_(MO) +D_(i)) is temporarilyheld by the buffer 36 and then is supplied to the RAM₀ insynchronization with a timing pulse φ_(d) to be stored at an address β₀of the RAM₀ corresponding to θ₀ (Step 138 in FIG. 12).

The above described one cycle of processing will be explained below interms of the DDA computing circuit 18_(i) (i=1, 2, . . . n-1) withreference to FIGS. 6 and 13.

After address signals α_(i),β_(i) and the brightness value data D_(I) ofthe point to be processed (x_(p),y_(p)) are supplied respectively fromthe F/F's 31 and 32 to the DDA_(i) 37 (Step 202), the computation of therecurrence formula is executed, based on the address signals α_(i),β_(i)in Step 204. Address signals α_(i+1), β_(i+1), a result of thecomputation, are supplied to the F/F 31 positioned before the DDA_(i+1)37 in the next DDA computation circuit 18_(i+1) in synchronization withthe finish of one cycle of processing.

Further in response to the address signal β_(i), reading of thehistogram data D_(Mi) is performed in Step 206. This read is performedby supplying the address signal β_(i) from the F/F 31 to the RAM_(i) tostore the histogram data D_(Mi) at the address of β_(i) in the F/F 33 inFIG. 6. In Step 208 the brightness data D_(I) of the histogram dataD_(Mi) is added. Step 208 is executed by the ADD₁ in FIG. 6. Then, thehistogram data D_(Mi) =D_(Mi) +D_(I) is written in the RAM_(i) at theaddress β₀ in Step 210.

The storing of the histogram data will be explained in more detail withreference to FIG. 14.

FIG. 14 shows the concept of the histogram memory of the RAM 34 in FIG.6. As shown, the memory has regions RAM₀ ˜RAM_(n-1) which correspondrespectively to the rotation angles θ₀ θ_(n-1). Each RAM region hasaddresses β (=ρ) +511˜0˜-512. Each address can store 16 bit histogramdata. Accordingly, when the DDA_(i) computes α_(i+1), β_(i+1)corresponding to the rotation angle θ_(i+1) based on the address signalα_(i),β_(i), using Recurrence Formula 7, the address signal β_(i) issupplied to the RAM₁, and the histogram data D_(M)(i) is read andcombined with the brightness data D_(I) of a point to be processed. Thenthe histogram data (D_(M)(i) +D_(I)) is written at the address β_(i).

As described above, the computation of Recurrence Formula 7 is performedby the serially connected DDA computing circuits 18₀ ˜_(n-1)(hereinafter the "pipe line system") wherein the address signalsα_(i),β_(i) are transferred sequentially. During the computation of theaddress signals α_(i),β_(i) to the address signals α_(i+1),β_(i+1), thebrightness data D_(I) and the histogram data D_(Mi), are added by theADD_(i) and stored in the RAM_(i) which shortens the time required forone cycle of processing.

This one cycle of processing is performed by the DDA computing circuits18₀ ˜18_(n-1) simultaneously and parallelly. That is, as in FIG. 15(a),data 1,none, 2, none, none, 3, 4, none is inputted by the FIFO 17' inthe first cycle the data is as shown in FIG. 15(b), In the second cycle,the data is as shown in FIG. 15(c). In the third cycle, the data is asshown in FIG. 15(d). The same processing follows. In the eighth cycle,the data is as shown in FIG. 15(e). In FIG. 15(a), (α₀₁,β₀₁)˜(α₀₄,β₀₄)are address signals corresponding respectively to coordinate values(x_(p1),y_(p1))˜(x_(p4),y_(p4)) of the points to be processed P₁˜P₄, andD_(I) ˜D_(I) are brightness data of the respective points to beprocessed P₁ ˜P₄. θ₀˜n-1 are rotation angles from the points to beprocessed (θ₀ is the points to be processed themselves) and correspondrespectively to the RAM₀ RAM_(n-1) in FIG. 6.

Next, the peak filtering following the Hough transform will beexplained.

Here it is assumed that when the points of intersection of Hough curvesape expressed in the ρθ plane, FIG. 16(a) is given. FIG. 16(a) does notalways agree with histograms obtained by this invention, because in FIG.16(a) histograms H which are weighted with brightness value data(brightness change ratios) of the picture elements of the originalpicture with respect to the points of intersection appearing every unitof the ρ-θ plane are expressed in the contour for easy understanding.

Here it is assumed that the histogram at the point P₁ in FIG. 16(a) ishigh and also high at the points P₂ and P₃. When the neighbors of thepoint P₁ are considered, high histograms take place at the points P₄ andP₅. But what is especially important is to to find the points P₁ -P₃spaced from each other. For example, the point P₁ corresponds to theshoulder lines of the road; the point P₂, the center line thereof; andthe point P₃, the shoulder lines of the forward curved portion of theroad. But in many cases the points P₄ and P₅ correspond to partialcurves of the shoulder lines, which are, in many cases, noise componentsin picture processing.

An eight neighbor peak filtering, for example, lessens such noisecomponents. That is, using an 8 neighbor filter (peek fiber), thehistograms at the points of intersections of the Hough curves arecompared between areas F₁ ˜F₉. When the formula

    F.sub.5 >F.sub.1 ˜F.sub.4,F.sub.6 ˜F.sub.9

is satisfied, the data in the area F₅ is to be detected. Specifically,in the case, for example, where one unit (element area) of pictureelements in the ρθ plane is allocated to each area F₁ ˜F₉, the formulaF₅ >F₁ ˜F₄,F₆ ˜F₉ is satisfied when the histogram number of the pointsof intersection are

    ______________________________________                                        F.sub.1 = 6,   F.sub.2 = 8, F.sub.3 = 4,                                      F.sub.4 = 2,   F.sub.5 = 14,                                                                              F.sub.6 = 10,                                     F.sub.7 = 7,   F.sub.8 = 9, F.sub.9 = 8.                                      ______________________________________                                    

Then the point of intersection F₅ is to be detected. In contrast tothis, when

    ______________________________________                                        F.sub.1 = 8,   F.sub.2 = 4, F.sub.3 = 3,                                      F.sub.4 = 14,  F.sub.5 = 10,                                                                              F.sub.6 = 7,                                      F.sub.7 = 9,   F.sub.8 = 8, F.sub.9 = 2,                                      ______________________________________                                    

F₅ <F₄ is given and thus the area F₅ is not data to be detected.

The above described filtering is performed by means of a peak filter inFIG. 17. That is, a signal reading circuit 71 is affixed to thehistogram memory (RAM 34) of FIG. 14(b), and data read from the signalreading circuit 71 is supplied to a shift register 74 having ninestoring region(F₁ ˜F₉) through the line buffer 72. The histogram dataD_(M) of the registers F₁ ˜F₄ and those D_(M) of the shift registers F₆˜F₉ are inputted to the comparators C₁ ˜C₄ and C₆ ˜C₉ respectively. Thehistogram data of the shift register F₅ is inputted to all thecomparators. Then, when the histogram data of the respective areas ofthe histogram memory 34 are DM₁ ˜DM₉ as shown in FIG. 17, the value ofthe data D_(M5) is compared with the rest data D_(M1) ˜DM₄, D_(M6)˜D_(M9). When the data D_(M5) is maximum, a peak signal H is outputtedfrom an AND gate. The data D_(M5) at this time becomes a peak data.

The above described filtering makes it possible that the points P₂ andP₃ where histograms are high can be detected, free from the influence ofthe points P₄ and P₅ in FIG. 16(a). Without the filtering, points of thesecond highest histogram next to the point P₁ of the first highesthistogram are P₄ and P₅, and the points P₂ and P₃, which have to bedetected as points of the second and the third highest histograms are ofthe fourth and the fifth highest histograms. This makes the subsequentsignal processing very difficult.

The sorting processing of Step 118 in FIG. 7 will be explained belowwith reference to the flow chart of FIG. 18.

For the sorting processing, a plurality of input memories (transfermemories) M_(I1) ˜M_(I4) (4 for simplicity), and comparison memories(result memories) M_(M1) ˜M_(M4) (4 for simplicity) are initialized(Step 152). Next, data is inputted to the input memory M_(Il) (Step154). When it is judged that this input data is present in Step 156,Steps 158˜184 will follow, and when judged this input data is absent,Steps 190˜199 will follow. Steps 190, 196 and 199 perform the sameprocessing as Steps 158 and 160 respectively. Steps 192 and 198 performthe same processing as Step 162˜168 respectively. Step 194 performs thesame processing as Steps 170˜156.

Steps 158, 162, 170 and 178 respectively compare the magnitudes of thecontent of the corresponding input memory M_(I) and that of thecomparison memory M_(M) upon finding M_(I) ≦M_(M), the content of theinput memory M_(I) is transferred to the next Steps 164,152 and 180.Contrary to this, when M_(I) >M_(M), the content of the comparisonmemory M_(M) is transferred to the next input memory M_(I) (Steps 168,176, 184). Finally the memories M_(MI)˜M_(M4) hold 4 input data in thesequential order of the magnitude.

This is shown specifically in FIGS. 19 and 20. Four memories M_(I1)˜M_(I4) as the input memories, and four memories M_(M1) ˜M_(M4) as thecomparison memories are provided. The input memories and comparisonmemories are mated respectively in four stages of circuits. Each stageof circuits, as shown in FIG. 20, comprises a pair of the input memoryM_(I) and the comparison memory M_(M), switching circuits 81, 82, and acomparator 83. When data inputted to the input memory M₁ is larger thanthe data stored by the comparison memory M_(M), the comparator 83supplies an output which actuates the switching circuit 81 as indicatedby a solid line in FIG. 20, and the input data is stored by thecomparison memory M_(M), At the same time, since the switching circuit82 is in the state as indicated by a solid line, the data stored by thecomparison memory M_(M) is transferred to a next stage. In contrast tothis, when input data (to the input memory M_(I)) is smaller than thedata stored in the comparison memory M_(M), the comparator 83 controlsthe switching circuits 81, 82 to be in the states indicated by dotlines. The input data is transferred directly to a next stage. Thecontent of the comparison memory M_(M) does not change.

It is assumed that in this sorting unit, the input data are 10, i.e., 5,7, 2, 8, 4, 9, 3, 1, 6, 8 as shown in FIG. 19(a). Operations followingthe initialization as in FIG. 19(b) change the data stored in thecomparison memories M_(I) ˜M_(M4) in the sequence indicated by the arrowin FIG. 19 (c), and finally the contents

    ______________________________________                                        Comparison memory      M.sub.M1 = 9                                           do.                    M.sub.M2 = 8                                           do.                    M.sub.M3 = 8                                           do.                    M.sub.M4 = 7                                           ______________________________________                                    

are stored. This sorting processing may be executed by software.Following a series of the above described processings, the pictureprocessing device according to this invention finishes all the steps ofits signal processing. Then an approximate straight line interconnectingthe points to be processed on the original picture is given in values ofthe above described ρ, θ.

The picture processing device according to another embodiment of thisinvention is characterized in that an initial value computing unit isinserted between the pre-processing unit and the DDA computing unit. Asshown in FIG. 21 corresponding to FIG. 6, the initial value computingunit comprises two flip flop (F/F) 41 , 42, and an initial valuecomputing circuit 43. The F/F 41 temporarily stores coordinate values(x_(p),y_(p)) of the point to be processed in the x-y coordinate system.The F/F 42 temporarily stores brightness value data D_(I) of the pointto be processed P. The initial value computing circuit 43 computescoordinates of an initial value in the α-β rectangular coordinatesystem, based on the coordinate values (x_(p),y_(p)) so as to enable thecomputation of the rotary motion recurrence formula.

In this embodiment, in computing the rotary motion recurrence formula,firstly the computation of an initial value is executed. The initialvalue computing unit is supplied with the data pre-processed by the FIFO17' to give an initial value (α₀,β₀) for computing the rotary motionrecurrence formula. In FIG. 22 corresponding to FIG. 11, when a rotarymotion is started at the point to be processed P (x_(p),y_(p)) at anarbitrary position (angle) θ' (=θ₀) (rad),

    α.sub.0 =x.sub.p sinθ'+y.sub.p cosθ'

    β.sub.0 =x.sub.p cosθ'+y.sub.p sinθ'      (9)

The initial value (α₀,β₀) is computed by the initial value computingunit 40 to be supplied to the DDA computing unit 18 as an addresssignal. The initial computing unit 40 stores the values of the thesinθ',cosθ' beforehand in a ROM (not shown), and referring to thesedata, computes Formula 9 using adders and multiplier (both not shown).Compared with the computation of the recurrence formula, that of Formula9 requires more computing time and is more complicated but is performedon only one point to be processed (x_(p),y_(p)). Accordingly, the totalcomputing time is not much increased, nor is the hardware large sized.The initial value computation is made very easy by starting a rotarymotion at θ=0°, 90°, 180° and 270° at the point to be processedP(x_(p),y_(p)).

This will be explained below with reference to FIG. 21. The initialvalue computing unit is supplied with data when a ready signal issupplied from the timing controller 25. Then a read strobing signal issupplied from the timing controller 25 to the FIFO 17' and thecoordinates (x_(p),y_(p)) of the point to be processed P are stored inthe F/F 41. At this time brightness value data D_(I) at the point to beprocessed P is stored by the F/F 42. Then, in synchronization with atiming pulse θ_(s) from the timing controller 25, the F/F 41 outputs thecoordinates (x_(p),y_(p)), and the initial value computing unit 43 givesthe initial value (α₀,β₀) by the recurrence formula, based on thecoordinate values (x_(p),y_(p)) of the point to be processed P. Thefollowing computation of the recurrence formula is the same as in thefirst embodiment.

This invention is not limited to the above described embodiment andcovers various modifications.

To give examples, in Step 124 in FIG. 9 a plurality of windows may beset, and when windows overlap, one of the overlapping windows may havepriority of being processed. It is not essential to set a window, andinstead the entire original picture may be processed and may besubjected to the Hough transformation. But, in this case, the peripheralregion of the original picture indicated by the dot line Q in FIG. 8(a)contains so many noise components that it is necessary to remove thisperipheral region beforehand for the picture processing of highprecision.

In obtaining histograms at the points of intersection of Hough curves,in place of the brightness value data based on brightness changeratios(value of differentiated edged data), two valued data may bemultiplexed so that the histogram is based on density of points ofintersection. Instead of preparing the edged data by differentiation,data corresponding to the brightness may be digitally processed asbrightness data, and then histograms may be obtained at points ofintersection of Hough curves.

It is not essential that the rotary motion recurrence formula beperformed along the entire circumference (one round) of an approximatecircle, but the computation may be performed along a 1/2, 1/4 or 1/8circumference. For example, DDAs are arranged serially in a numbernecessary for the computation along a 1/4 circumference for 0≦θ<π/2 andπ≦θ<3π/2. The values along the other portion of a circumference(π/2≦θ<π, 3π/2≦θ<2π) can be given immediately by the DDAs. It is notessential either that the rotation angle is always the same. It may bevaried partially.

It is possible that Hough transform is performed along a halfcircumference.

For the computation of the rotary motion recurrence formula, thecircuits of FIGS. 23 and 24 may be employed.

In the circuit of FIG. 23, reference numerals 51˜54 represent adders;and 61˜63, inverters. This circuit can execute the computation ofFormula 7. In the circuit of FIG. 24, reference numerals 51˜56 representadders; 65 and 66 indicate 1/6 dividers; and 61˜63 and 99, inverters.This circuit can execute the computation of Formula 8.

We claim:
 1. A device for detecting a boundary of a roadway upon which avehicle travels, the device comprising:camera means for generatingelectronic signals representing an image of the roadway, the imagecomprising a view of the roadway extending in a direction of travel ofthe vehicle; a signal inputting unit for digitizing the signalsrepresenting the image of the roadway; an edge detecting unit forprocessing the digitized signals to produce edged picture elementsignals differentiated with respect to pixel to pixel brightnessvariations; a preprocessing unit for receiving the edged picture elementsignals from the edge detecting unit and storing in a multivalue memorycircuit edged picture data corresponding to the edged picture elementsignals, the edged picture data corresponding to each edged pictureelement signal comprising an address in an X-Y coordinate system and anedged brightness value; digital differential analysis computing meansincluding a plurality of digital differential analysis computingcircuits which are serially connected, each for converting the addressesof the edged picture data from the X-Y coordinate system to an α-βcoordinate system and computing a rotary motion recurrence formula togenerate a plurality of approximate HOUGH curves in a ρ-θ coordinatesystem, the approximate HOUGH curves intersecting at a plurality ofpoints in the ρ-θ coordinate system, and said rotary motion recurrenceformula comprising the equation

    α.sub.i+1 =α.sub.i -2.sup.-m β.sub.i ;

and

    β.sub.i+1 =2.sup.-m α.sub.i+1 +β.sub.i

wherein an angle of rotation comprises

    ε=2.sup.-m (rad) (m=0, 1, 2, . . . );

a histogram memory circuit for storing address data corresponding to theintersection points between the generated approximate HOUGH curves; anda processor for generating a signal representing the boundary of theroadway based on the stored address data corresponding to theintersection points of the approximate HOUGH curves.
 2. The device ofclaim 1, wherein the digital differential analysis computing meansfurther comprises an initial value computing circuit for computingcoordinate (α_(i), β_(i)) of an initial value in the α-β coordinatesystem, and the digital differential analysis computing circuits performthe rotary motion recurrence formula computation based on thecoordinates (α_(i), β_(i)) of the initial value.
 3. The device of claim1, wherein the processor comprises a peak filtering circuit foridentifying intersection points having relative maximum frequencies ofintersection by the approximate Hough curves, and the processorgenerates the signal indicative of the boundary of the roadway based onthe stored address data corresponding to the intersection points havingrelative maximum frequencies of intersection.
 4. A machine implementedprocess for detecting a boundary of a roadway upon which a vehicletravels, the process comprising the steps of:generating electronicsignals representing an image of the roadway, the image comprising aview of the roadway in a direction of travel of the vehicle; digitizingthe signals representing the image of the roadway; generating edgedpicture element signals from the digitized signals, the edged pictureelement signals being differentiated with respect to pixel to pixelbrightness; storing in a memory circuit edged picture data correspondingto the edged picture element signals, the edges picture data comprisingaddresses in an X-Y coordinate system and edged brightness values;converting the addresses of the stored edged picture data from the X-Ycoordinate system to an α-β coordinate system and computing a rotarymotion recurrence formula to generate a plurality of approximate HOUGHcurves in a ρ-θ coordinate system, the approximate HOUGH curvesintersecting at a plurality of points in the ρ-θ coordinate system,using a digital differential analysis computing means including aplurality of serially connected differential analysis computingcircuits, said rotary motion recurrence formula comprising the equations

    α.sub.i+1 =α.sub.i -2.sup.-m β.sub.i ;

and

    β.sub.i+1 =2.sup.-m α.sub.i+1 +β.sub.i

wherein an angle of rotation comprises

    ε=.sup.- m (rad) (m=0, 1, 2, . . . );

storing address data corresponding to the intersection points betweenthe generated approximate HOUGH curves and a histogram memory circuit;and generating a signal representing the boundary of the roadway basedon the stored address data corresponding to the intersection points ofthe approximate HOUGH curves.
 5. A machine implemented process forgenerating a plurality of approximate HOUGH curves in a ρ-θ coordinatesystem, said process comprising the steps of:generating pixel datarepresentative of an image, said pixel data comprising addresses in anX-Y coordinate system and pixel brightness values; storing said pixeldata in a memory circuit; retrieving said pixel data from said memorycircuit; and using a digital differential analysis computing meansincluding an initial value computing circuit and a plurality of seriallyconnected digital differential analysis circuits, converting theaddresses of the retrieved pixel data from the X-Y coordinate system toan α-β coordinate system and processing said converted pixel data usinga rotary motion recurrence formula to generate a plurality ofapproximate HOUGH curves in a ρ-θ coordinate system, said rotary motionrecurrence formula being defined by the following equations:

    α.sub.i+1 =f.sub.α (α.sub.i,β.sub.i,ε)

    β.sub.i+1 =f.sub.β (α.sub.i,β.sub.i,ε).


6. The machine implemented process of claim 5, wherein said rotarymotion recurrence formula comprises the equations

    α.sub.i+1 =α.sub.i -2.sup.-m β.sub.i ;

and

    β.sub.i+1 =2.sup.-m α.sub.i+1 +β.sub.i

wherein an angle of rotation comprises

    ε=2.sup.-m (rad) (m=0, 1, 2, . . . ).


7. The machine implemented process of claim 5, wherein said rotarymotion recurrence formula comprises the equations

    α.sub.i+1 =α.sub.i (1-2.sup.-2m-1)-2.sup.-β.sub.i ;

and

    β.sub.i+1 =2.sup.-m α.sub.i +β.sub.i (1-2.sup.-m-1)

wherein an angle of rotation comprises

    ε=2.sup.-m (rad) (m=0, 1, 2, . . . ).


8. The machine implemented process of claim 5, wherein said rotarymotion recurrence formula comprises the equations

    α.sub.i+1 =α.sub.i (1-2-2m-1)+β.sub.i (-.sup.-m +ε.sup.-3m /6);

and

    β.sub.i+1 =α.sub.i (2.sup.-m +ε.sup.-3m 6)+β.sub.i (1-2.sup.-2m-1)

wherein an angle of rotation comprises

    ε=2.sup.-m (rad) (m=0, 1, 2, . . . ).


9. A device for detecting a boundary of a roadway upon which a vehicletravels, the device comprising:camera means for generating electronicsignals representing an image of the roadway, the image comprising aview of the roadway extending in a direction of travel of the vehicle; asignal inputting unit for digitizing the signals representing the imageof the roadway; an edge detecting unit for processing the digitizedsignals to produce edged picture element signals differentiated withrespect to pixel to pixel brightness variations; a preprocessing unitfor receiving the edged picture element signals from the edge detectingunit and storing in a multivalue memory circuit edged picture datacorresponding to the edged picture element signals, the edged picturedata corresponding to each edged picture element signal comprising anaddress in an X-Y coordinate system and an edged brightness value;digital differential analysis computing means including a plurality ofdigital differential analysis computing circuits which are seriallyconnected, each for converting the addresses of the edged picture datafrom the X-Y coordinate system to an α-β coordinate system and computinga rotary motion recurrence formula to generate a plurality ofapproximate HOUGH curves in a ρ-θ coordinate system, the approximateHOUGH curves intersecting at a plurality of points in the ρ-θ coordinatesystem, and said rotary motion recurrence formula comprising theequation

    α.sub.i+1 =α.sub.i (1-2.sup.-2m-1)-2.sup.-m β.sub.i ;

and

    β.sub.i+1 =2.sup.-m α.sub.i +β.sub.i (1-2.sup.-2m-1)

wherein an angle of rotation comprises ε=⁻ m (rad) (m=0, 1, 2, . . . );a histogram memory circuit for storing address data corresponding to theintersection points between the generated approximate HOUGH curves; anda processor for generating a signal representing the boundary of theroadway based on the stored address data corresponding to theintersection points of the approximate HOUGH curves.
 10. A device fordetecting a boundary of a roadway upon which a vehicle travels, thedevice comprising:camera means for generating electronic signalsrepresenting an image of the roadway, the image comprising a view of theroadway extending in a direction of travel of the vehicle; a signalinputting unit for digitizing the signals representing the image of theroadway; an edge detecting unit for processing the digitized signals toproduced edged picture element signals differentiated with respect topixel to pixel brightness variations; a preprocessing unit for receivingthe edged picture element signals from the edge detecting unit andstoring in a multivalue memory circuit edged picture data correspondingto the edged picture element signals, the edged picture datacorresponding to each edged picture element signal comprising an addressin an X-Y coordinate system and an edged brightness value; digitaldifferential analysis computing means including a plurality of digitaldifferential analysis computing circuits which are serially connected,each for converting the addresses of the edged picture data from the X-Ycoordinate system to an α-β coordinate system and computing a rotarymotion recurrence formula to generate a plurality of approximate HOUGHcurves in a ρ-θ coordinate system, the approximate HOUGH curvesintersecting at a plurality of points in the ρ-θ coordinate system, andsaid rotary motion recurrence formula comprising the equations

    α.sub.i+1 =α.sub.i (1-2-2m-1)+β.sub.i (-2.sup.-m +ε.sup.-m /6);

and

    β.sub.i+1 =α.sub.i (2.sup.-m +ε.sup.-m /6)+β.sub.i (1-2.sup.-2m-1)

wherein an angle of rotation comprises

    ε=.sup.- m (rad) (m=0, 1, 2, . . . );

a histogram memory circuit for storing address data corresponding to theintersection points between the generated approximate HOUGH curves; anda processor for generating a signal representing the boundary of theroadway based on the stored address data corresponding to theintersection points of the approximate HOUGH curves.
 11. A machineimplemented process for detecting a boundary of a roadway upon which avehicle travels, the process comprising the steps of:generatingelectronic signals representing an image of the roadway, the imagecomprising a view of the roadway in a direction of travel of thevehicle; digitizing the signals representing the image of the roadway;generating edged picture element signals from the digitized signals, theedged picture element signals being differentiated with respect to pixelto pixel brightness; storing in a memory circuit edged picture datacorresponding to the edged picture element signals, the edges picturedata comprising addresses in an X-Y coordinate system and edgedbrightness values; converting the addresses of the stored edged picturedata from the X-Y coordinate system to an α-β coordinate system andcomputing a rotary motion recurrence formula to generate a plurality ofapproximate HOUGH curves in a ρ-θ coordinate system, the approximateHOUGH curves intersecting at a plurality of points in the ρ-θ coordinatesystem, using a digital differential analysis computing means includinga plurality of serially connected differential analysis computingcircuits, said rotary motion recurrence formula comprising the equations

    α.sub.i+1 =α.sub.i (1-2.sup.-2m-1)-2.sup.-m β.sub.i ;

and

    β.sub.i+1 =2.sup.-m α.sub.i+β.sub.i (1-2.sup.-2m-1)

wherein an angle of rotation comprises

    ε=2.sup.-m (rad) (m=0, 1, 2, . . . );

storing address data corresponding to the intersection points betweenthe generated approximate HOUGH curves and a histogram memory circuit;and generating a signal representing the boundary of the roadway basedon the stored address data corresponding to the intersection points ofthe approximate HOUGH curves.
 12. A machine implemented process fordetecting a boundary of a roadway upon which a vehicle travels, theprocess comprising the steps of:generating electronic signalsrepresenting an image of the roadway, the image comprising a view of theroadway in a direction of travel of the vehicle; digitizing the signalsrepresenting the image of the roadway; generating edged picture elementsignals from the digitized signals, the edged picture element signalsbeing differentiated with respect to pixel to pixel brightness; storingin a memory circuit edged picture data corresponding to the edgedpicture element signals, the edges picture data comprising addresses inan X-Y coordinate system and edged brightness values; converting theaddresses of the stored edged picture data from the X-Y coordinatesystem to an α-β coordinate system and computing a rotary motionrecurrence formula to generate a plurality of approximate HOUGH curvesin a ρ-θ coordinate system, the approximate HOUGH curves intersecting ata plurality of points in the ρ-θ coordinate system, using a digitaldifferential analysis computing means including a plurality of seriallyconnected differential analysis computing circuits, said rotary motionrecurrence formula comprising the equations

    α.sub.i+1 =α.sub.i (1-2-2m-1)+β.sub.i (-2.sup.-m +ε.sup.-3m /6);

and

    β.sub.i+1 =α.sub.i (2.sup.-m +ε.sup.-3m /6)+β.sub.i (1-2.sup.-2m-1)

wherein an angle of rotation comprises

    ε=2.sup.-m (rad) (m=0, 1, 2, . . . );

storing address data corresponding to the intersection points betweenthe generated approximate HOUGH curves and a histogram memory circuit;and generating a signal representing the boundary of the roadway basedon the stored address data corresponding to the intersection points ofthe approximate HOUGH curves.